package com.zenchn.aliyun.oss.api;

import com.zenchn.entity.JsonResult;

import java.util.Map;

/**
 * oss拷贝(复制)  接口
 * @author dingxinfa
 * @date 2018-08-17
 */
public interface OssCopyService {
	
	/**
	 * 简单文件拷贝
	 * @param endpoint 访问域名
	 * @param accessKeyId id
	 * @param accessKeySecret 密钥
	 * @param sourceBucketName 源存储空间
	 * @param sourceObjectName 源Bucket下的文件的路径名+文件名
	 * @param destinationBucketName 目标存储空间
	 * @param destinationObjectName 目标Bucket下的文件的路径名+文件名
	 * @return JsonResult
	 */
	JsonResult<Map> copySimpleFile(String endpoint, String accessKeyId, String accessKeySecret, String sourceBucketName, String sourceObjectName, String destinationBucketName, String destinationObjectName);
	

	/**
	 * 拷贝大文件
	 * @param endpoint 访问域名
	 * @param accessKeyId id
	 * @param accessKeySecret 密钥
	 * @param sourceBucketName 源存储空间
	 * @param sourceObjectName 源Bucket下的文件的路径名+文件名
	 * @param destinationBucketName 目标存储空间
	 * @param destinationObjectName 目标Bucket下的文件的路径名+文件名
	 * @param callbackUrl  回调服务器地址  可为空
	 * @return JsonResult
	 */
	JsonResult<Map> copyLargeFile(String endpoint, String accessKeyId, String accessKeySecret, String sourceBucketName, String sourceObjectName, String destinationBucketName, String destinationObjectName, String callbackUrl);
}
